package com.dragon.modules.yuegou.service.impl.busd;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dragon.modules.yuegou.entity.busd.PageConfigEntity;
import com.dragon.modules.yuegou.enums.busd.PageConfigPageType;
import com.dragon.modules.yuegou.enums.busd.PageConfigYsqAppType;
import com.dragon.modules.yuegou.mapper.busd.PageConfigMapper;
import com.dragon.modules.yuegou.model.busd.PageConfig;
import com.dragon.modules.yuegou.query.busd.PageConfigQuery;
import com.dragon.modules.yuegou.service.busd.PageConfigService;
import com.dragon.modules.yuegou.web.Check;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import java.util.List;

/**
 *  服务实现
 *
 * @author pbuilder generated
 * @date 2020-12-24 16:32:56
 * @version 2.0
 */
@Service("busdPageConfigService")
public class PageConfigServiceImpl
		extends ServiceImpl<PageConfigMapper, PageConfigEntity>
		implements PageConfigService {

	@Override
	public void updateConfig(PageConfig config) {
		Check.notNull(config.getId(), "配置ID不能为空");
		Check.notNull(config.getStyleContent(), "样式类容不能为空");
		PageConfigEntity entity = getById(config.getId());
		entity.setStyleContent(config.getStyleContent());
		baseMapper.updateById(entity);
	}

	@Override
	public PageConfig getConifgByBusdIdAndType(String busdId, PageConfigPageType type, PageConfigYsqAppType ysqAppType) {
		PageConfigQuery query = new PageConfigQuery();
		query.setBusdId(busdId);
	    query.setPageType(type);
		query.setYsqAppType(ysqAppType);
	    List<PageConfigEntity> configList = baseMapper.selectList(query.toQueryWrapper());
		if (CollectionUtils.isEmpty(configList)){
			return new PageConfig();
		}
		PageConfigEntity config = configList.get(configList.size()-1);
		return new PageConfig(config);
	}

}